﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QLTV.DataTier
{
    //class MSACH cho phép lấy các thông tin về sách, thể loại sách trong thư viện
    class MSACH
    {
        //Lấy ra list tất cả các sách có trong thư viện !!!sửa lại câu truy vấn để lấy duy nhất theo tên sách
        public List<SACH> Get_Sach()
        {
            var query = from sach in Global.getIns().getDb().SACHes select sach;
            return query.ToList();
        }
        //Lấy ra list tất cả các sách có thể loại là theLoai !!! sửa lại câu truy vấn để lấy duy nhất theo tên sách
        public List<SACH> Get_Sach(string theLoai)
        {
            var query = from sach in Global.getIns().getDb().SACHes where sach.LOAISACH.TenTheLoai == theLoai select sach;
            return query.ToList();
        }

        //Kiểm tra xem sách mới có thỏa điều kiện để thêm vào thư viện
        public bool KiemTraSach(SACH sach)
        {
            if (DateTime.Now.Year - sach.NamXB <= 8)
                return true;
            return false;
        }
        //Thêm 1 sach mới vào thư viện
        public void ThemSach(SACH sach)
        {
            if (KiemTraSach(sach))
            {
                Global.getIns().getDb().SACHes.InsertOnSubmit(sach);
                Global.getIns().getDb().SubmitChanges();
            }
            //else xuất thông báo lỗi

        }
        //Lấy ra list các thể loại sách
        public List<string> GetTheLoai()
        {
            var query = from theLoai in Global.getIns().getDb().LOAISACHes select theLoai.TenTheLoai;
            return query.ToList();
        }

        //Thêm 1 thể loại vào thư viện sách
        public void ThemTheLoai(string theLoai)
        {
            int sum = Global.getIns().getDb().LOAISACHes.Count();
            LOAISACH loaiSach = new LOAISACH();
            loaiSach.MaTheLoai = sum + 1;
            loaiSach.TenTheLoai = theLoai;
            Global.getIns().getDb().LOAISACHes.InsertOnSubmit(loaiSach);
            Global.getIns().getDb().SubmitChanges();
        }


    }
}
